package com.carrental.api.oms.domain.vo;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.carrental.common.annotation.ExcelDictFormat;
import com.carrental.common.convert.ExcelDictConvert;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;



/**
 * 订单信息视图对象 oms_order
 *
 * @author liangyi
 * @date 2022-03-20
 */
@Data
@ApiModel("订单信息视图对象")
@ExcelIgnoreUnannotated
public class OmsOrderVo {

    private static final long serialVersionUID = 1L;

    /**
     * 订单表主键
     */
    @ExcelProperty(value = "订单表主键")
    @ApiModelProperty("订单表主键")
    private Long orderId;

    /**
     * 订单编号
     */
    @ExcelProperty(value = "订单编号")
    @ApiModelProperty("订单编号")
    private String orderNumber;

    /**
     * 租户姓名
     */
    @ExcelProperty(value = "租户姓名")
    @ApiModelProperty("租户姓名")
    private String userRealName;

    /**
     * 租户手机号
     */
    @ExcelProperty(value = "租户手机号")
    @ApiModelProperty("租户手机号")
    private String userTelephone;

    /**
     * 车辆id
     */
    @ExcelProperty(value = "车辆id")
    @ApiModelProperty("车辆id")
    private Long carId;

    /**
     * 车辆名
     */
    @ExcelProperty(value = "车辆名")
    @ApiModelProperty("车辆名")
    private String carName;

    @ExcelProperty(value = "车辆图片")
    @ApiModelProperty("车辆图片")
    private String carImageUrl;


    /**
     * 车牌号
     */
    @ExcelProperty(value = "车牌号")
    @ApiModelProperty("车牌号")
    private String carPlateNumber;

    /**
     * 车辆网点名称
     */
    @ExcelProperty(value = "车辆网点名称")
    @ApiModelProperty("车辆网点名称")
    private String storeName;

    /**
     * 订单状态（1预定、2出车、3还车、0取消）
     */
    @ExcelProperty(value = "订单状态", converter = ExcelDictConvert.class)
    @ExcelDictFormat(dictType = "order_status")
    @ApiModelProperty("订单状态（1预定、2出车、3还车、0取消）")
    private String status;

    /**
     * 支付方式（线下支付、微信支付、支付宝）
     */
    @ExcelProperty(value = "支付方式", converter = ExcelDictConvert.class)
    @ExcelDictFormat(readConverterExp = "线=下支付、微信支付、支付宝")
    @ApiModelProperty("支付方式（线下支付、微信支付、支付宝）")
    private String payType;

    /**
     * 总金额
     */
    @ExcelProperty(value = "总金额")
    @ApiModelProperty("总金额")
    private BigDecimal totalAmount;

    /**
     * 出车时间
     */
    @ExcelProperty(value = "出车时间")
    @ApiModelProperty("出车时间")
    private Date driveStartDate;

    /**
     * 还车时间
     */
    @ExcelProperty(value = "还车时间")
    @ApiModelProperty("还车时间")
    private Date driveEndDate;


}
